package net.esj.basic.core.engine.util.enumeration;

import java.util.List;

import net.esj.basic.core.engine.provider.IProvider;
import net.esj.basic.pojo.EnumStructure;

/**
 * 系统枚举管理器
 * 枚举类可以来自数据库字典，json文件等，但必须实现{@link EnumStructure}接口
 * @author Administrator
 *
 */
public interface EnumProvider extends IProvider{

	/**
	 * 获得完整的枚举对象
	 * @param key
	 * @return
	 */
	List<EnumStructure> findEnum(String key);
	
	/**
	 * 获得封装后的枚举对象,该对象只有接口@EnumStructure的实现
	 * @param key
	 * @return
	 */
	List<EnumVo> findEnumVo(String key);
	
	
	EnumStructure getEnum(String key,String code);
	
	EnumVo getEnumVo(String key,String code);
}
